//
//  NSDictionary_DoubanAddition.h
//  CocoaBean
//
//  Created by sleeper on 3/29/10.
//  Copyright 2010 __MyCompany__. All rights reserved.
//

@interface NSDictionary (DoubanAddition)

// If valueKey is nil, @"$t" will be used
- (NSString *)akPropertyForKey:(NSString*)key valueKey:(NSString *)valueKey;
- (NSString *)akPropertyForKey:(NSString *)key subkey:(NSString *)firstSubkey valueKey:(NSString *)valueKey;
- (NSString *)akPropertyInArrayForKey:(NSString*)key subkey:(NSString *)firstSubkey valueKey:(NSString *)valueKey value:(NSString*)value;
- (NSString *)akPropertyInArrayForKey:(NSString*)key firstSubkey:(NSString *)firstSubkey secondSubkey:(NSString *)secondSubkey valueKey:(NSString *)valueKey value:(NSString *)value;

- (void)akGetPropertyArraysForKey:(NSString *)key 
					   firstArray:(NSArray **)firstArray firstSubkey:(NSString *)firstSubkey 
					  secondArray:(NSArray **)secondArray secondSubkey:(NSString *)secondSubkey;

// Returns an array of NSDictionary
- (NSArray *)akCollectPropertyArraysForKey:(NSString *)key subkey:(NSString *)subkey value:(NSString *)value;

- (NSString*)dbUserId;

@end

extern NSString * const kAKEntryKeySingleProperty;
